* {
    margin: 0;
    padding: 0;
}

.container {
    justify-content:space-evenly;
}

/* 1 блок */
.header-top > .container {
  max-width: 1180px;
}

.nav-links {
    color: #2C2C2C;
    text-decoration: none;
    font-size: 18px;
    font-weight: 600;
    margin-top: 22px;
}

.header-icons img {
    width: 47px;
    height: 47px;
    border-radius: 12px;
    object-fit: cover;
}

.header-icon {
    display: inline-flex;
}

/* Телефон */
.phone-number {
    font-weight: 600;
    font-size: 18px;
    color: #2C2C2C;
    text-decoration: none;
}

.work-time {
    font-size: 14px;
    color: #2C2C2C;
    font-weight: 400;
}

.btn-login {
    background: #FC9227;
    color: #FFFFFF;
    padding: 8px 20px;
    border-radius: 12px;
    width: 82px;
    height: 47px;
    text-decoration: none;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.container {
  max-width: 1180px;
}

.container {
    margin-bottom: -10px;
}

.breadcrumb a {
    color: #2C2C2C;
    font-size: 16px;
    font-weight: 400;
    text-decoration: none;
}
 
.title {
    font-size: 32px;
    font-weight: 600;
    color: #2C2C2C;
}

.results {
    color: #2C2C2C;
    font-size: 18px;
    font-weight: 600;
}

.filters .filter-label { 
    font-weight: 600; 
    font-size: 18px;
    display: block; 
    margin-bottom: 8px; 
    color: #2C2C2C;
}
.filters .filter-heading { 
    font-weight: 600; 
    font-size: 18px;
    margin-bottom: 12px; 
    color: #2C2C2C;
    display: block; 
}

/* rounded inputs matching mock */
.form-control { 
    background: #F1F1F1; 
    padding: 12px 15px;
    width: 270px;
    height: 46px;
    border-radius: 12px;
    border: none;
    outline: none;
}

.form-check-input {
    background: #F1F1F1;
    width: 26px;
    height: 26px;
    border-radius: 6px;
    border: none;
    outline: none;
}

.form-check-label {
    color: #2C2C2C;
    font-size: 16px;
    font-weight: 400;
    padding: 7px 10px 0;
}

.filter-heading {
    color: #2C2C2C;
    font-size: 18px;
    font-weight: 600;
}

.form-control1 {
    background: #F1F1F1;
    border-radius: 12px;
    width: 130px;
    height: 46px;
    padding: 12px 15px;
    border: none;
    outline: none;
}
 
.text {
    color: #2C2C2C;
    font-size: 16px;
    width: 600;
}

.btn-oranges {
    background: #FC9227;
    border: none;
    color: #FFFFFF;
    font-weight: 600;
    font-size: 14px;
    padding: 10px 18px;
    border-radius: 12px;
    width: 270px;
    height: 47px;
}

.listing {
    gap: 18px;
    display: flex;
    align-items: flex-start;
}

.listing-photo img {
    width: 240px;
    height: 240px;
    object-fit: cover;
    border-radius: 20px;
    display: block;
}
 
.listing-desc{
    margin: 6px 0 0;
    color: #2C2C2C;
    font-size: 16px;
    font-weight: 400;
    line-height: 18px;
    min-width: 350px;
}
 
.small.text-muted { 
    color: #2C2C2C;
    font-size: 16px;
    font-weight: 400;
}

.price {
    color: #2C2C2C;
    font-size: 18px;
    font-weight: 600;  font-size: 18px;
}

/* Адрес */
.offer-location {
    font-size: 16px;
    font-weight: 400;
    margin: 0;
    color: #2C2C2C;
}

.offer-location img {
    width: 18px;
    height: 18px;
    margin-right: 6px;
}

.agent-card {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
}

.favorite-items {
    margin-bottom: 75px;
}

.favorite-items1 {
    margin-bottom: 77px;
}

.favorite-items2 {
    margin-bottom: 75px;
}

.favorite-items6 {
    margin-bottom: 77px;
}

.favorite-items7 {
    margin-bottom: 77px;
}

.favorite-items8 {
    margin-bottom: 78px;
}

.favorite-items12 {
    margin-bottom: 79px;
}

.agent-top {
    background: #F1F1F1;
    border-radius: 20px;
    width: 200px;
    height: 70px;
}

.agent-name {
    color: #2C2C2C;
    font-size: 14px;
    font-weight: 600;
    line-height: 18px;
}

.agent-photo {
    width: 50px;
    height: 50px;
    border-radius: 15px;
    object-fit: cover;
    margin: 10px;
}

.show-phone {
    background: #A333FF;
    width: 200px;
    height: 47px;
    color: #FFFFFF;
    border-radius: 15px;
    padding: 10px;
    font-weight: 600;
    font-size: 14px;
}

.write-btn {
    background: #F8EFFF;
    width: 200px;
    height: 47px;
    color: #A333FF;
    padding: 10px;
    border-radius: 15px;
    font-weight: 600;
    font-size: 14px;
}

/* подвал */
.footer > .container {
  max-width: 1180px;
}

.footer {
    background: #F7EFFD;
    margin-top: -160px;
}

.footer-slogan {
    color: #A333FF;
    font-size: 18px;
    font-weight: 600;
    margin-top: -5px;
}

.footer-link {
    color: #2C2C2C;
    font-size: 18px;
    font-weight: 400;
    text-decoration: none;
}

.footer-copy {
    white-space: nowrap;
    color: #2C2C2C;
    font-size: 14px;
    font-weight: 400;
}

.footer-privacy {
    color: #2C2C2C;
    font-size: 14px;
    font-weight: 400;
}

.contact-row {
    display: flex;
    justify-content: flex-end;
    margin-top: 5px;
}

.footer-phone {
    font-size: 20px;
    font-weight: 600;
}

.social-icon {
    width: 47px;
    height: 47px;
}

.contract-box {
    width: 492px;
    height: 142px;
    margin-top: 40px;
    background: #ffffff;
    box-shadow: 0 4px 25px rgba(0, 0, 0, 0.05);
}

.contract-title {
    font-size: 18px;
    font-weight: 600;
    color: #2C2C2C;
}

.btn-orange {
    background: #FC9227;
    color: #FFFFFF;
    border-radius: 15px;
    padding: 10px 20px;
    border: none;
    font-size: 16px;
    font-weight: 600;
    width: 88px;
    height: 54px;
}

.btn-purple {
    background: #A333FF;
    color: #FFFFFF;
    border-radius: 15px;
    padding: 10px 28px;
    border: none;
    font-size: 16px;
    font-weight: 600;
    width: 246px;
    height: 54px;
    white-space: nowrap;
}

.custom-pagination {
    margin-top: -40px;
}
.custom-pagination .page-item {
    margin: 0 3px;
}

.custom-pagination .page-link {
    width: 40px;
    height: 40px;
    border-radius: 10px !important;
    border: none;
    background: #F8EFFF;  
    color: #2C2C2C;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 600;
    font-size: 13px;
}

.custom-pagination .page-item.active .page-link {
    background: #A333FF !important; 
    color: #FFFFFF !important;
}

.custom-pagination .page-link:hover {
    background: #e8d4ff;
}

.custom-pagination .dots {
    cursor: default;
}

/* подвал */
.footer > .container {
  max-width: 1180px;
}

.footer {
    background: #F7EFFD;
    margin-top: -160px;
}

.footer-slogan {
    color: #A333FF;
    font-size: 18px;
    font-weight: 600;
    margin-top: -5px;
}

.footer-link {
    color: #2C2C2C;
    font-size: 18px;
    font-weight: 400;
    text-decoration: none;
}

.footer-copy {
    white-space: nowrap;
    color: #2C2C2C;
    font-size: 14px;
    font-weight: 400;
}

.footer-privacy {
    color: #2C2C2C;
    font-size: 14px;
    font-weight: 400;
}

.contact-row {
    display: flex;
    justify-content: flex-end;
    margin-top: 5px;
}

.footer-phone {
    font-size: 20px;
    font-weight: 600;
}

.social-icon {
    width: 47px;
    height: 47px;
}

.contract-box {
    width: 492px;
    height: 142px;
    margin-top: 40px;
    background: #ffffff;
    box-shadow: 0 4px 25px rgba(0, 0, 0, 0.05);
}

.contract-title {
    font-size: 18px;
    font-weight: 600;
    color: #2C2C2C;
}

.btn-orange {
    background: #FC9227;
    color: #FFFFFF;
    border-radius: 15px;
    padding: 10px 20px;
    border: none;
    font-size: 16px;
    font-weight: 600;
    width: 88px;
    height: 54px;
}

.btn-purple {
    background: #A333FF;
    color: #FFFFFF;
    border-radius: 15px;
    padding: 10px 28px;
    border: none;
    font-size: 16px;
    font-weight: 600;
    width: 246px;
    height: 54px;
    white-space: nowrap;
}

.map-preview-block {
    width: 245px;               
    height: 80px;
    cursor: pointer;
    border-radius: 15px;
}

.text-span {
    color: #FFFFFF;
    font-size: 16px;
    font-weight: 600;
}

.map-preview-overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.35); /* затемнение как в макете */
}

.map-icon {
    width: 25px;
    height: 25px;
}
 

 